01
内存对齐基础
什么是内存对齐 · 为什么需要内存对齐 · 对齐边界与对齐系数
概念边界
02
结构体对齐规则
默认对齐规则 · 成员顺序对大小的影响 · 嵌套结构体的对齐
结构体嵌套
03
#pragma pack指令
使用#pragma pack修改对齐 · pack(1)紧凑模式 · pack(n)自定义对齐
预处理紧凑
04
位域基础
位域的定义与语法 · 位域的内存分配 · 位域的类型限制
位域语法
05
位域的实际应用
协议解析 · 状态标志 · 位域与联合体的结合
协议联合体
06
内存对齐与位域的陷阱
常见错误与调试 · 跨平台兼容性 · 性能与空间的权衡
调试兼容
07
实战案例1:网络协议头解析
IP头、TCP头解析与对齐设计
网络IPTCP
08
实战案例2:嵌入式寄存器映射
寄存器映射与位操作 · 硬件抽象
嵌入式寄存器
09
实战案例3:文件系统元数据
文件系统元数据结构设计 · 对齐考量
文件系统元数据
10
综合练习:通信协议帧结构
设计高效的通信协议帧 · 对齐与位域综合
协议帧综合
11
内存对齐进阶
缓存行对齐与伪共享 · C11 alignas/alignof
缓存C11
12
位域进阶
零长度位域 · 无名位域 · 跨字节问题
零长度跨字节
13
编译器行为分析
GCC与MSVC对齐差异 · __attribute__((packed))
GCCMSVCpacked
14
内存对齐与性能优化
对齐/非对齐访问性能 · SIMD对齐要求
性能SIMD
15
位域与可移植性
大端小端影响 · 编写可移植位域代码
大小端移植
16
调试内存布局
offsetof宏 · sizeof验证 · GDB查看内存
调试GDB
17
设计模式:状态机与权限
位域实现状态机 · 位域实现权限管理
状态机权限
18
内存对齐在操作系统中的应用
内核结构体对齐 · 伙伴系统与对齐
操作系统伙伴系统
19
位域在硬件抽象层中的应用
GPIO寄存器映射 · 中断控制器寄存器
HALGPIO
20
C++中的内存对齐与位域
C++11 alignas · C++位域与C差异
C++alignas
21
内存对齐与序列化
结构体直接读写文件陷阱 · 对齐结构体网络传输
序列化文件
22
位域与压缩存储
使用位域节省内存 · 位域与压缩算法
压缩存储
23
内存对齐的数学原理
地址对齐二进制表示 · 对齐与取模运算
数学二进制
24
位域的编译器实现
不同编译器布局策略 · 位域顺序问题
编译器布局
25
内存对齐与动态内存分配
malloc对齐保证 · aligned_alloc使用
mallocaligned
26
位域与多线程
位域操作原子性 · 位域与锁配合
多线程原子
27
内存对齐在数据库中的应用
行存储对齐策略 · 列存储对齐优化
数据库行/列
28
位域在图形学中的应用
颜色深度与像素格式 · 纹理压缩位域
图形纹理
29
面试题解析
经典面试题讲解 · 常见笔试题分析
面试笔试
30
综合项目:轻量级RTOS内存管理
设计嵌入式实时操作系统内核内存管理模块
RTOS项目